import { createRouter, createWebHashHistory } from 'vue-router';
import { constantRoutes, dynamicRoutes } from './routes';
import { setupRouterGuard } from './guard';

// 创建路由实例
const router = createRouter({
  // 使用 hash 模式 (更适合手机端)
  history: createWebHashHistory(),
  // routes: constantRoutes,
  routes: [
    ...constantRoutes,
    ...dynamicRoutes,
  ],

  // 手机端路由滚动行为
  scrollBehavior(to, from, savedPosition) {
    // 如果有保存的位置则恢复
    if (savedPosition) {
      return savedPosition;
    }
    // 否则滚动到顶部
    return { top: 0 };
  }
});

/**
 * 添加动态路由
 * 通常在登录后调用
 */
export function addDynamicRoutes() {
  dynamicRoutes.forEach(route => {
    if (!router.hasRoute(route.name)) {
      router.addRoute(route);
    }
  });
}

// 配置路由守卫
setupRouterGuard(router);

export default router;